#include<bits/stdc++.h>
using namespace std;
int t,n;
int a[100010];
int flag[100010];
int ans;
void dfs(int x,int maxx){
    //cout<<flag[x]<<" "<<x<<" "<<maxx<<endl;
    if(x>n) {
        ans=max(ans,maxx);
        return;
    }
    bool ok;
    flag[x]=0;
    ok=false;
    for(int i=x-1;i>=1;i--){
        if(flag[x]==flag[i]){
            if(a[x]==a[i]){
                dfs(x+1,maxx+a[x]);
                ok=true;
            }
            break;
        }
    }
    if(!ok) dfs(x+1,maxx);
    flag[x]=1;
    ok=false;
    for(int i=x-1;i>=1;i--){
        if(flag[x]==flag[i]){
            if(a[x]==a[i]){
                dfs(x+1,maxx+a[x]);
                ok=true;
            }
            break;
        }
    }
    if(!ok) dfs(x+1,maxx);
}
signed main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    cin>>t;
    while(t--){
        ans=0;
        cin>>n;
        for(int i=1;i<=n;i++) {
            flag[i]=-1;
        }
        for(int i=1;i<=n;i++){
            cin>>a[i];
        }
        dfs(1,0);
        cout<<ans<<endl;
    }
    return 0;
}